Шаг 144 - Два варианта получения остатков по складу.

В любом случае нам нужно получить объект бухгалтерские итоги. Состояние склада нужно на какой то конкретный момент. Обычно это сегодня что соответствует вопросу – что есть на складе.

Первый вариант заключается в том, что мы получим итоги и потом пробежимся по справочнику товаром извлекая из бух. итогов сумму. Обратите внимание, что мы здесь используем Расчет.

Процедура Сформировать() 

    Т = СоздатьОбъект("Таблица");
   
    Ном = СоздатьОбъект("Справочник.Номенклатура");
    Ном.ВыбратьЭлементы();
	
    Итог = СоздатьОбъект("БухгалтерскиеИтоги"); 
    Итог.Рассчитать(ТекущаяДата(),ТекущаяДата(),"41");
	
     Пока Ном.ПолучитьЭлемент() > 0 Цикл
	 	     Т.ВывестиСекцию("Секция_1");
     КонецЦикла;
  
    Т.ТолькоПросмотр(1);
    Т.Показать();


КонецПроцедуры

Вывести можно так.

144_1.gif (2970 b)

Второй способ основан на использовании запроса.

Процедура Сформировать() 

    Т = СоздатьОбъект("Таблица");
   
    
	Итог = СоздатьОбъект("БухгалтерскиеИтоги"); 
	Итог.ИспользоватьСубконто(ВидыСубконто.Номенклатура, , 1);
	Итог.ВыполнитьЗапрос(ТекущаяДата(),ТекущаяДата(),"41");
	
        Итог.ВыбратьСубконто();
         	 
            // идем по субконто
			Пока Итог.ПолучитьСубконто() = 1 цикл
                        Т.ВывестиСекцию("Секция_1");	    
            КонецЦикла; 
  
    Т.ТолькоПросмотр(1);
    Т.Показать();


КонецПроцедуры

Вывести результаты можно так.

144_2.gif (2681 b)

Результат немного разный. В первом варианте будет много нулей. Конечно, их можно пропускать. Как поступать лучше я пока не знаю. Результат и тот и другой вариант дают одинаковый. Наверно есть разница в скорости работы Рассчет и ВыполнитьЗапрос.

Hosted by uCoz